<?php

/**
 +----------------------------------------------+
 * PHP Version 5.2.6                            *
 +----------------------------------------------+
 * 功能说明：
 +----------------------------------------------+
 * @Author    ：九九                            *
 * @QQ        ：405494897                       *
 * @Email     ：xjiujiu@foxmail.com             *
 * @Copyright ：2010/8/15                       *
 * @version   ：                                *
 * @package   ：                                *
 +----------------------------------------------+ 
**/

class CheckData{
    
    /**
     * @author  九九
     * @name    构造函数
     * @param 	null
     * @return  void
    **/
    public function __construct(){
    }    
    
    /**
     * @author  九九
     * @name    检测变量是否为null
     * @param 	$str 需要检测的变量
     * @return  boolean
    **/
    public static function checkNull($str){
        if(is_numeric($str)) return $str;
        return empty($str) ? 'NULL' : "'$str'";
    }
        
    /**
     * @author  九九
     * @name    检测变量是否为空 false,null,'',""
     * @param 	string and array $str 需要检测的变量
     * @return  boolean
    **/
    public static function checkEmpty($str){
        if(is_array($str)){
            $i = 0;
            foreach($str as $value){
                if(is_numeric($value)) $i++;
                if(empty($value) == true) continue;
                $i ++;
            }
            if($i == 0) return true;
            return false;
        }
        if(is_numeric($str)) return false;
        return empty($str) ? true : false;
    }
      
    /**
     * @author  九九
     * @name    验证电子邮箱
     * @param 	string $email 邮箱地址
     * @return  boolean
    **/
     public static function checkEmail($email){
        if(!preg_match('/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.(?:com|org|net|gov|biz|info|name|aero|biz|info|jobs|museum|[A-Z]{2})$/i',$email)){
            return false;
        }
        return true;
     }
         
    /**
     * @author  九九
     * @name    验证电话号码
     * @param 	string $phone 电话号码
     * @return  boolean
    **/
     public static function checkPhone($phone){
        if(! preg_match($this->modePhone,$phone)){
            return false;
        }
        return true;
     }
     
    /**
     * @author  九九
     * @name    检测测文件路径，获得相对路径
     * @param 	string $url
     * @return  void
    **/
    public static function checkURL($url){
        if(!preg_match('/^(http|https):\/\/[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$/i',$url)){
            return false;
        }
        return true;
    }
    
    /**
     * @author  九九
     * @name    检查QQ号格式是否正确 4 位到 11 位号的QQ
     * @param 	string $qqNum
     * @return  boolean
    **/
    public static function checkQQ($qqNum){
        if(!preg_match('/^[0-9]{4,11}$/',$qqNum)){
            return false;
        }
        return true;
    }
      
    /**
     * @author  九九
     * @name    检测用户字符是否合法 用户名只能是英文单词、中文、- 字符数{4,20}
     * @param   string $userName
     * @return  boolean
    **/
    public static function checkUserName($userName){
        return preg_match('/\w{4,20}/i',$userName);          
    }
    
    /**
     * @author  九九
     * @name    检测用户是否有权限
     * @param   string or int $minRight 最小权限
     * @return  void
    **/    
    public static function checkUserRight($minRight){
        if(!is_numeric($minRight)){
            return false;
        }
        if($_SESSION['GCWS_userType'] > $minRight){
            return false;
        }
        return true;
    }
    
    /**
     * @author  九九
     * @name    检测用户是否登陆
     * @param 	null
     * @return  boolean
    **/
    public static function checkUserLogin(){
        if(empty($_SESSION['GCWS_userName']) || !isset($_SESSION['GCWS_userID'])){
            return false;
        }
        if($_SESSION['workTime'] < time()){
            return false;
        }
        return true;
    }
    
    /**
     * @author  九九
     * @name    检测数据是否是数字
     * @param 	$arrPOST 提交过来的数据 可以是数组 也可以是单个数据
     * @return  boolean
    **/
    public static function checkIsNumeric($arrPOST){        
        if(is_array($arrPOST)){
            foreach($arrPOST as $value){
                if(!is_numeric($value)){
                    return false;
                }
            }
            return true;
        }else{
            return is_numeric($arrPOST);
        }
    }

    /**
     * 检测是否是合法的记录ID
     *
     * @param int $recordId
     * @access public static
     * @return boolean
     */
    public static function checkRecordId($recordId) {
        if(!is_numeric($recordId)) {
            return false;
        } else {
            return true;
        }
    }

}

?>
